﻿
namespace QSHC.QSchedule.Web.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.ServiceModel.DomainServices.Hosting;
    using System.ServiceModel.DomainServices.Server;


    // The MetadataTypeAttribute identifies EmployeeMetadata as the class
    // that carries additional metadata for the Employee class.
    [MetadataTypeAttribute(typeof(Employee.EmployeeMetadata))]
    public partial class Employee
    {

        // This class allows you to attach custom attributes to properties
        // of the Employee class.
        //
        // For example, the following marks the Xyz property as a
        // required property and specifies the format for valid values:
        //    [Required]
        //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
        //    [StringLength(32)]
        //    public string Xyz { get; set; }
        internal sealed class EmployeeMetadata
        {

            // Metadata classes are not meant to be instantiated.
            private EmployeeMetadata()
            {
            }

            public string AccountNumber { get; set; }

            public string Address { get; set; }

            public Nullable<int> AmphurID { get; set; }

            public Nullable<DateTime> BirthDate { get; set; }

            public Nullable<int> BloodGroupID { get; set; }

            public string Description { get; set; }

            [Include]
            public Division Division { get; set; }

            public Nullable<int> DivisionID { get; set; }

            public string Email { get; set; }

            public string EmployeeCode { get; set; }

            public int EmployeeID { get; set; }

            public string FirstName { get; set; }

            public Nullable<int> HiringTypeID { get; set; }

            public int JobPositionID { get; set; }

            public string LastName { get; set; }

            public int LogID { get; set; }

            public Nullable<int> MarriageStatusID { get; set; }

            public string MobilePhone { get; set; }

            public string NickName { get; set; }

            public string OfficePhone { get; set; }

            public string PIN { get; set; }

            public string PostalCode { get; set; }

            public Nullable<int> ProvinceID { get; set; }

            public int SexID { get; set; }

            public Nullable<DateTime> StartDate { get; set; }

            public Nullable<int> TambonID { get; set; }

            public string TelePhone { get; set; }

            public Nullable<DateTime> ThruDate { get; set; }

            [Include]
            public Title Title { get; set; }

            public int TitleID { get; set; }

            public string UniversityCode { get; set; }

            public int UserStatusID { get; set; }
        }
    }
}
